1. Technical Field
The present invention relates to a method and system for data processing in general and, in particular, to a method and system for processing non-native bytecodes within a computer system. Still more particularly, the present invention relates to a method and system for optimizing non-native bytecodes before bytecode interpretation within a computer system.
2. Description of the Prior Art
The World Wide Web, or as it is simply known, the "Web," has dramatically changed the online world and continues to grow in popularity. As a communication system, the Web allows information providers to distribute and collect information globally and instantly. For users, the Web is a dynamic view into the works and ideas of millions of people worldwide. Through a system of hypertext, users of the Web are able to select and view information from all over the Web.
While the hypertext system gives Web users a high degree of selectivity over the information they choose to view, their level of interactivity with that information is low. Even with improvements such as hypermedia, which opens up many new kinds of sensory input for the Web users, including access to text, graphics, or videos, the Web itself still lacks a true interactivity-the kind of real-time, dynamic, and visual interaction between the Web users and the application.
Java.sup.1 brings this missing interactivity to the Web. With Java, animations and interactive applications on the Web become feasible. Java's features enrich communication, information, and interaction on the Web by enabling the distribution of executable content-rather than just Hypertext Markup Language (HTML) pages and hypermedia files-among Web users. This ability to distribute executable content is one of the powerful features of Java. FNT .sup.1 Java is a trademark of Sun Microsystems, and is also the name of the programming language developed by Sun Microsystems.
An application software written in Java is first compiled into a set of Java bytecodes. The Java bytecodes are subsequently distributed to a software user through the Web. In order to utilize the application software, to view and interact with an animation or interactive application, a Web user must have a computer having a Java-enabled Web browser installed. A Java-enabled Web browser has a built-in Java interpreter such that the Java bytecodes can be interpreted and executed within the Web user's computer. Although the speed of this Java interpretation procedure is typically quite fast, the performance could be enhanced if the Java bytecodes can be optimized before the interpretation. When the Java bytecodes are structured around a pure stack machine implementation, the process of interpreting a set of non-optimal Java bytecode can be quite slow. It should therefore be apparent that a need exists for a method and system for optimizing Java bytecode before the bytecode interpretation process occurs within a computer system.